package org.example.test;

import java.util.*;

/**
 * 算法题常用方法
 */
public class FrequentlyMethod {
    public static void main(String[] args) {
        /**
         * String  StringBuffer  StringBuilder
         */
        String s = new String("abc");
        //字符串翻转  reverse()
        StringBuilder reverseStr = new StringBuilder(s).reverse();
        //去除两头空格
        String trim = s.trim();
        //使用正则表达式对字符串进行校验   matches
        boolean matches = s.matches("[0-9a-fA-F]");
        //字符串转大写
        String upperCase = s.toUpperCase();
        //字符串转小写
        String lowerCase1 = s.toLowerCase();


        /**
         * Math
         */
        //n的m次方  pow(n,m)
        double pow = Math.pow(2, 2);
        System.out.println(pow);


        /**
         * Map
         */
        Map<String, Integer> map = new HashMap<>();
        //是否包含某个元素  containsKey
        boolean containsKey = map.containsKey("a");
        //是否包含某个值  containsValue
        boolean containsValue = map.containsValue(1);



        /**
         * Character
         */
        Character character = 'a';
        //字符是否为数字 isDigit
        boolean digit = Character.isDigit(character);
        //字符是否为字母 letter
        boolean letter = Character.isLetter(character);
        //大写字母转小写字母 toLowerCase
        char lowerCase = Character.toLowerCase(character);
        //小写字母转大写字母 toTitleCase
        char titleCase = Character.toTitleCase(character);


        /**
         * Collections
         */
        ArrayList<Integer> list = new ArrayList<>();
        //对集合中的元素排序-自然排序  sort
        Collections.sort(list);


        /**
         * Integer
         */
        //字符串转10进制   s:要转的字符串   radix：当前字符转的进制
        int i = Integer.parseInt("a", 16);
        int i1 = Integer.parseInt("8", 8);
        //10进制转任何进制  i：10进制数   radix：进制
        String unsignedString = Integer.toUnsignedString(13123,2);

    }
}
